User devices, including, but not restricted to, wireless mobile communication devices, personal computers, laptop or portable computers, smartphones, personal digital assistants (PDAs), and the like, may be secured from unauthorized access by means of an authentication process having one or more factors. Such an authentication process may require the user to establish a connection between the user device and an authorization token, e.g., a smart card, where the authorization token stores a secret value. The connection allows for validation, by the user device, before the user is allowed to access functions and/or data stores of the user device. It is known in the art to implement this type of authentication process using a Public Key Infrastructure (PKI), wherein the authentication token is provided with a private key and the user device is provided with a public key that corresponds to the private key. The user device may also be provided with an identity certificate. The identity certificate may be used by a third party to verify that the public key is reliably associated with the identity of the user device, or of the user of the user device.
In an example authentication process, the user device transmits a message to the authentication token. The authentication token generates a digital signature for a message using the private key. The authentication token then transmits the digital signature to the user device. The user device may then transmit the message and the digital signature to a message recipient. The message recipient can the use the public key to verify that the message was signed using the private key.
A identity certificate typically contains: a public key; an owner's name; an expiration date of the public key; the name of the issuer, the Certificate Authority (CA) that issued the identity certificate; a serial number for the identity certificate; and a digital signature of the issuer.
After the expiration date of the public key, the identity certificate is not intended to be relied upon for authentication purposes. When the expiration time is embedded in the identity certificate, the user device may ascertain whether the public key has expired. However, the CA may revoke an identity certificate sometime ahead of a predetermined expiry date, in which case the identity certificate is intended to be unusable for authentication purposes. As should be clear, up-to-date information is not embedded in the identity certificate previously stored at the user device. Therefore, to determine whether an identity certificate may be relied upon for authenticating a user, the user device must obtain the updated revocation status of the identity certificate at the time at which the user device uses the identity certificate to verify that a digital signature received in association with a received message was generated using the private key.
To assist the operation of some PKI systems, a certificate revocation list (CRL) is a list of identity certificates (more accurately: serial numbers of identity certificates) that have been revoked, that are no longer valid and that should not be relied upon. The user device may download a CRL over a network, e.g., the Internet, to obtain updated revocation information for an identity certificate before using the identity certificate to verify that a received message was signed using a corresponding private key.
The known Online Certificate Status Protocol (OCSP) is an Internet protocol used for obtaining the revocation status of an identity certificate. The OCSP is described in the Internet Engineering Task Force (IETF) Request For Comments (RFC) number 2560 and is on track to become an Internet standard. The OCSP was created as an alternative to CRLs, specifically addressing certain problems associated with using CRLs in a PKI. Messages communicated via OCSP are encoded in Abstract Syntax Notation One (ASN.1) and are usually communicated over the known Hyper-Text Transfer Protocol (HTTP). OCSP message exchanges have a “request/response” nature that leads to OCSP servers being termed OCSP responders.
Accordingly, in some PKI systems, the user device may query an OCSP responder over a network, e.g., the Internet, to obtain updated revocation information for an identity certificate before using the identity certificate to verify that a received message was signed using a corresponding private key.